int *p=new int [3]和int p[3]是一回事吗?
来源:百度知道 编辑:UC知道 时间:2024/05/10 10:23:00
如题。还有我想问,new 是不是只用于自定义类型的分配空间啊(除了数组),像Int *p=new int这样等于没写对不对?
new int完全可以
int * p = new int[3]和int p[3]
功能是一样的
但有一些区别
1: int *p = new int[3]是在堆上分配空间的,一定要自己释放
而int p[3]是在栈上分配的,退出作用域后自动释放
2: int * p = new int[3] 中的p是一个指向int的指针,它还可以指向其它地方
但int p[3]中的p是常量指针,不能再给它赋值了
1:不完全一样,NEW更好点
2:不是。都能用。Int *p=new int有作用,占用空间
二楼正解
C++语句int* p=new int是什么意思?
int *p=new int [3]和int p[3]是一回事吗?
int *p(int int)与int (*p)(int int)区别?
int (*p)()
int *p和 int *p
java问题 int a[ ]=new int[5]是什么意思
java中的数组赋值给数组问题int[ ] a=new int[10];int[ ] b=new int[8];
在java中如何将int[ ] num1=new int[6];变成int型
int *p=&a;和 int *p; *p=a;和 int *p; p=&a;有区别么?
int *p 和(int *)p 不一样吗?